home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir44 / dungn32.zip / DUNGEON.DOC < prev    next >
Text File  |  1994-10-05  |  21KB  |  560 lines

  1. To:    Dungeon Players
  2. From:    "The Translator"
  3. Subj:    Game Information
  4. Date:    1-Oct-94
  5.  
  6. This document provides information about V3.2 of Dungeon.
  7.  
  8. Dungeon is a development prototype of the game ZORK(tm), which is
  9. available commercially from Infocom, Inc, on most personal computers.
  10. Copyright on the Dungeon sources is retained by Infocom, and commercial
  11. use is strictly prohibited.  ZORK(tm) is a trademark of Infocom, Inc.
  12.  
  13. I.  Components
  14.  
  15. Dungeon is a maze-solving game for solitaire play.  V3.2 runs on any
  16. OpenVMS VAX, OpenVMS AXP, OSF/1 AXP, or RISC ULTRIX system.  The kit
  17. consists of the following files:
  18.  
  19.     dparam.for            -parameters
  20.     dungeon.f            -program root
  21.     game.f                -main routine
  22.     parser.f            -parser
  23.     gdt.f                -game debugging tool
  24.     subr.f                -subroutines
  25.     rooms.f                -room processors
  26.     verbs.f                -verbs
  27.     objects.f            -objects
  28.     timefnc.f            -clock processors
  29.     vmssubr.for            -VMS dependent subroutines
  30.     unixsubr.c            -UNIX dependent subroutines
  31.     hints.doc            -hints file
  32.     dungeon.doc            -this file
  33.     dundiffs.doc            -revision log
  34.     dindx                -initialization data base
  35.     dtext                -main data base [binary file]
  36.  
  37. The hints file is intended only as a last resort.
  38.  
  39. II.  Installation Instructions, VMS
  40.  
  41. Before starting, please note that all files (source and object) must
  42. reside in the user's area.  Rename file DINDX to DINDX.DAT and DTEXT
  43. to DTEXT.DAT.  DTEXT.DAT is a binary file consisting of 80-byte fixed
  44. length records.
  45.  
  46. To compile Dungeon, issue the following commands:
  47.  
  48.   $ FORT/NOCHECK/CONT=40 DUNGEON.F,GAME.F,GDT.F,PARSER.F,SUBR.F(cr)
  49.   $ FORT/NOCHECK/CONT=40 ROOMS.F,VERBS.F,OBJECTS.F,TIMEFNC.F,VMSSUBR.FOR(cr)
  50.  
  51. There should be no error messages.
  52.  
  53. To link the compiled sources, issue the following command:
  54.  
  55.   $ LINK DUNGEON,GAME,GDT,PARSER,SUBR,-(cr)
  56.   _$ ROOMS,VERBS,OBJECTS,TIMEFNC,VMSSUBR(cr)
  57.  
  58. It is now possible to run Dungeon:
  59.  
  60.   $ RUN DUNGEON(cr)
  61.  
  62. When invoked, Dungeon takes no more than 5-10 seconds to start up.
  63.  
  64. Notes on the executable program:
  65.  
  66.   - The only files needed to execute Dungeon are DUNGEON.EXE,
  67.     DINDX.DAT, and DTEXT.DAT.  All other files can be deleted.
  68.  
  69.   - Files DINDX.DAT and DTEXT.DAT must reside in the user's area;
  70.     alternately, logicals DINDX and DTEXT must be defined to point
  71.     to the actual files DINDX.DAT and DTEXT.DAT, respectively.
  72.  
  73. III.  Installation Instructions, OSF/1
  74.  
  75. Before starting, please note that all files (source and object) must
  76. reside in the user's area.  Except for dtext, all files in the
  77. distribution kit are ASCII.  dtext is a binary file consisting of
  78. 80-byte fixed length records.
  79.  
  80. To compile and link Dungeon, issue the following commands:
  81.  
  82.   % f77 -vms -align dcommons *.f -o dungeon(cr)
  83.  
  84. There may be a few warning messages.
  85.  
  86. It is now possible to run Dungeon:
  87.  
  88.   % dungeon(cr)
  89.  
  90. When invoked, Dungeon takes no more than 5-10 seconds to start up.
  91.  
  92. Notes on the executable program:
  93.  
  94.   - The only files needed to execute Dungeon are dungeon, dindx,
  95.     and dtext.  All other files can be deleted.
  96.  
  97.   - Files dindx and dtext must reside in the user's directory; you
  98.     can change the source to place these files in a different directory
  99.     (see section VII).
  100.  
  101. IV.  Changes In Dungeon V3.x
  102.  
  103. V3.2 reflects a slightly later version of the MDL source than V3.0:
  104.  
  105.   - The verb COUNT has been added.
  106.  
  107.   - The object CHIMNEY has been added, for CLIMB UP CHIMNEY.
  108.  
  109.   - Many objects now recognize both singular and plural, where
  110.     appropriate (eg, cliff/cliffs, jewel/jewels, corpse/corpses,
  111.     ghost/ghosts, spirit/spirits).
  112.  
  113.   - Numerous refinements and traps have been added (eg, try KICKing
  114.     THE BUCKET in the well, or SHAKing THE BOTTLE of water when it
  115.     is full and open).
  116.  
  117.   - Certain passages are no longer traversible if holding the coffin.
  118.     (You can still get the coffin out.)
  119.  
  120. The most significant changes from V2.x to V3.0 were:
  121.  
  122.   - Three new puzzles have been implemented: the Palantir puzzle,
  123.     the Last Point puzzle, and the Dead Player puzzle.
  124.  
  125.   - The parser recognizes the first eight letters of words as
  126.     significant.
  127.  
  128.   - The parser allows list of objects, separated by commas or AND,
  129.     to be used with TAKE, PUT, and DROP, eg, TAKE SWORD AND LAMP.
  130.     POSSESSIONS is a new collective noun (in addition to EVERYTHING
  131.     and VALUABLES) that denotes every object you are carrying.  The
  132.     parser allows the EXCEPT <list of objects> construct to be used
  133.     to qualify collective nouns.
  134.  
  135.   - As a result, multiple commands on the same line must now be
  136.     separated by semicolons or periods, since commas are used for
  137.     multiple objects.
  138.  
  139.   - The syntax for TELL (INCANT, ANSWER) requires the command (spell,
  140.     answer) be enclosed in quotation marks, eg, TELL ROBOT "PICK UP
  141.     LABEL".  Either single or double quotation marks can be used to
  142.     delimit the substring, but the beginning and ending quotation
  143.     marks must match.
  144.  
  145.   - SAVE and RESTORE now accept an optional file name within
  146.     quotation marks.  If no file name is given, DSAVE.DAT is used.
  147.  
  148.   - AGAIN repeats the most recent successful command.
  149.  
  150.   - If you are killed, your belongings are scattered throughout the
  151.     maze, rather than at the end.
  152.  
  153. V. Problems Fixed
  154.  
  155. The following problems from V3.1 have been fixed:
  156.  
  157.   - DROP ALL works in the dark.
  158.  
  159.   - TAKE/DROP/ALL BUT now works.
  160.  
  161.   - TAKE ALL will not take water from the bottle.
  162.  
  163.   - POUR WATER in y now works correctly.
  164.  
  165.   - PLAY x WITH y now works.
  166.  
  167.   - FEEL is recognized as a synonym for RUB etc.
  168.  
  169.   - The weight calculations in TAKE and PUT now include contained objects
  170.     correctly.
  171.  
  172.   - IT now works in more cases and reports problems correctly.
  173.  
  174.   - SHAKing an open object while up the tree is equivalent to dropping
  175.     the contents of the object.
  176.  
  177.   - SPINning a turnable object no longer says the object can't be turned.
  178.  
  179.   - THROW x AT BOTTLE/LAMP are no longer handled like THROW BOTTLE/LAMP.
  180.  
  181.   - Several vocabulary miscodings (STACK, ROCK, SWITCH) have been fixed.
  182.  
  183.   - A bug which prevented objects present in multiple rooms from being
  184.     implicitly found has been fixed.
  185.  
  186.   - Throwing water at the stove or into the well or down the slide
  187.     now works correctly.
  188.  
  189.   - A problem with inferred objects has been fixed, eg, SWING SWORD
  190.     will correctly pick the troll as the object of attack.
  191.  
  192.   - When the thief discards valueless articles, the correct message
  193.     is printed.
  194.  
  195.   - When the thief robs you in broad daylight, a message is printed.
  196.  
  197.   - The granite wall in the Slide Room is now recognized.
  198.  
  199.   - If the adventurer attempts to tie the rope to the timber or coffin
  200.     while carrying them, the correct message is printed.
  201.  
  202.   - The rope can no longer be tied simultaneously to the Dome Room
  203.     railing and to the timber or coffin.
  204.  
  205.   - When using the rope to descend into the Puzzle Room, the correct
  206.     message is printed.
  207.  
  208.   - If the adventurer misplays the Puzzle Room and blocks the entrance
  209.     hole, subsequent attempts to re-enter will fail.
  210.  
  211.   - When the adventurer looks into a palantir while in the same
  212.     room with another palantir, the correct message is printed.
  213.  
  214.   - If the player is killed after successfully exorcising the spirits,
  215.     the description of the Land of the Living Dead is now correct.
  216.  
  217.   - If the player is killed, his possessions are scattered to the
  218.     correct locations.
  219.  
  220.   - A negative score prints the correct condescending rank.
  221.  
  222.   - Lighting conditions while dead are now reported correctly.
  223.  
  224.   - TELL MASTER "KILL MASTER WITH SWORD" now kills the player.
  225.  
  226.   - KILL x WITH MASTER gives a more appropriate response.
  227.  
  228.   - In the end game, ANSWERing after failing the quiz no longer restarts
  229.     the quiz, and ANSWERing after passing no longer continues the quiz.
  230.  
  231.   - In the end game, the prison door cell does not close when
  232.     already closed.
  233.  
  234.   - Several subscript out of range problems, which randomly crashed
  235.     the game in some environments, have been fixed.
  236.  
  237. The following problems from V3.0 have been fixed:
  238.  
  239.   - Resurrection after death works correctly.
  240.  
  241.   - The load calculation for going up the chimney works correctly.
  242.  
  243.   - DIG x WITH y gives a more appropriate response.
  244.  
  245.   - Many spelling errors have been corrected.
  246.  
  247.   - Some (but not all) of the problems founding in porting to
  248.     MS DOS have been corrected.
  249.  
  250. The following problems from V2.6 have been fixed:
  251.  
  252.   - If you ask for your SCORE while it is negative, you get an
  253.     appropriate condescending message.
  254.  
  255.   - The command TELL ROBOT "DESTROY ME" destroys you rather than
  256.     the robot.
  257.  
  258.   - Unexpected events (such as appearance of the thief, or failure
  259.     of a command) wipe out any subsequent commands on the current
  260.     line, to prevent unexpected catastrophes.
  261.  
  262.   - TAKE BOTTLE OF WATER, and other situations involving "OF", now
  263.     work correctly.
  264.  
  265.   - The grating in the Clearing cannot be referenced until the leaf
  266.     pile has been dislodged.  If the grating is unlocked but closed,
  267.     attempting to go up from the Grating Room gives the right message.
  268.  
  269.   - ^Z (end of file) in response to the input prompt no longer crashes
  270.     the program.
  271.  
  272.   - THROUGH is no longer a synonym for WITH, so LOOK THROUGH WINDOW
  273.     will parse, while LOOK WITH WINDOW will not.
  274.  
  275.   - <random verb> EVERYTHING now gives the correct message.
  276.  
  277.   - The thief demon now reports the results of its criminal activity
  278.     correctly.
  279.  
  280. In addition, numerous detailed responses have been added for wayward or
  281. strange situations, as appropriate.
  282.  
  283. VI.  Abstract of Informational Printouts
  284.  
  285. SUMMARY
  286. -------
  287.  
  288.             Welcome to Dungeon!
  289.  
  290.    Dungeon is a game of adventure, danger, and low cunning.  In it
  291. you will explore some of the most amazing territory ever seen by mortal
  292. man.  Hardened adventurers have run screaming from the terrors contained
  293. within.
  294.  
  295.    In Dungeon, the intrepid explorer delves into the forgotten secrets
  296. of a lost labyrinth deep in the bowels of the earth, searching for
  297. vast treasures long hidden from prying eyes, treasures guarded by
  298. fearsome monsters and diabolical traps!
  299.  
  300.    No system should be without one!
  301.  
  302.    Dungeon was created at the MIT Laboratory for Computer Science by
  303. Tim Anderson, Marc Blank, Bruce Daniels, and Dave Lebling.  It was
  304. inspired by the Adventure game of Crowther and Woods, and the long
  305. tradition of fantasy and science fiction games.  The original version
  306. was written in MDL (alias MUDDLE).  The current version was translated
  307. from MDL into FORTRAN by a somewhat paranoid DEC engineer who prefers
  308. to remain anonymous.
  309.  
  310.    On-line information may be obtained with the commands HELP and INFO.
  311.  
  312. INFO
  313. ----
  314.  
  315. Welcome to Dungeon!
  316.  
  317.    You are near a large dungeon, which is reputed to contain vast
  318. quantities of treasure.   Naturally, you wish to acquire some of it.
  319. In order to do so, you must of course remove it from the dungeon.  To
  320. receive full credit for it, you must deposit it safely in the trophy
  321. case in the living room of the house.
  322.  
  323.    In addition to valuables, the dungeon contains various objects
  324. which may or may not be useful in your attempt to get rich.  You may
  325. need sources of light, since dungeons are often dark, and weapons,
  326. since dungeons often have unfriendly things wandering about.  Reading
  327. material is scattered around the dungeon as well;  some of it
  328. is rumored to be useful.
  329.  
  330.    To determine how successful you have been, a score is kept.
  331. When you find a valuable object and pick it up, you receive a
  332. certain number of points, which depends on the difficulty of finding
  333. the object.  You receive extra points for transporting the treasure
  334. safely to the living room and placing it in the trophy case.  In
  335. addition, some particularly interesting rooms have a value associated
  336. with visiting them.  The only penalty is for getting yourself killed,
  337. which you may do only twice.
  338.  
  339.    Of special note is a thief (always carrying a large bag) who likes
  340. to wander around in the dungeon (he has never been seen by the light
  341. of day).  He likes to take things.  Since he steals for pleasure
  342. rather than profit and is somewhat sadistic, he only takes things which
  343. you have seen.  Although he prefers valuables, sometimes in his haste
  344. he may take something which is worthless.  From time to time, he examines
  345. his take and discards objects which he doesn't like.  He may occas-
  346. ionally stop in a room you are visiting, but more often he just wanders
  347. through and rips you off (he is a skilled pickpocket).
  348.  
  349. HELP
  350. ----
  351.  
  352. 1 User Commands
  353.  
  354. The following command may prove useful while playing Dungeon.
  355. They are not, however, game commands; that is, they have no side
  356. affects on the current game.
  357.  
  358. 1.1 Verbosity
  359.  
  360.     VERBOSE:    The default: prints long room descriptions on first
  361.         visit, 20% of the time thereafter.
  362.  
  363.     BRIEF:    Prints short room descriptions and short object
  364.         descriptions for rooms which have been visited.
  365.  
  366.     SUPERBRIEF:    Prints short room descriptions and short object
  367.         descriptions all the time, even on the first visit.
  368.  
  369. Note that the maximally verbose description may always be obtained
  370. by the command "LOOK".  See also the "ROOM" and "OBJECTS" commands.
  371.  
  372. 1.2 Help
  373.  
  374.     INFO:    Prints information on what the game is about.
  375.  
  376.     HELP:    Prints this message.
  377.  
  378. 1.3 Progress
  379.  
  380.     QUIT:    Prints your score, and asks whether you wish to
  381.         continue playing; "Q" is equivalent.
  382.  
  383.     SCORE:    Prints your score (and deflates your ego).
  384.  
  385.     TIME:    Prints how much time you have wasted playing the game.
  386.  
  387.     VERSION:    Prints the current version number.
  388.  
  389. 1.4 Save/Restore
  390.  
  391.     SAVE:    Saves the current game for future continuation.
  392.  
  393.     RESTORE:    Restores a previous saved game.
  394.  
  395. SAVE and RESTORE take an optional file name, in quotation marks.  If
  396. no name is given, the file name defaults to "DSAVE.DAT".
  397.  
  398. 1.5 General
  399.  
  400.     AGAIN:    Repeats the last command.
  401.  
  402.     LOOK:    Describes the current surroundings; "L" is equivalent.
  403.  
  404.     ROOM:    Prints the verbose description of the current room,
  405.         without object descriptions.
  406.  
  407.     RNAME:    Prints the short description of the current room.
  408.  
  409.     OBJECTS:    Prints the verbose description of all the objects
  410.         in the current room, without describing the room.
  411.  
  412.     INVENTORY:    Prints a list of your possessions; "I" is equivalent.
  413.  
  414.     DIAGNOSE:    Prints your current state of health.
  415.  
  416.     WAIT:    Causes "time" to pass.
  417.  
  418. 2 Command parser
  419.  
  420. A command is one line of text terminated by a carriage return.
  421. For reasons of simplicity, all words are distinguished by their
  422. first eight letters.  All others are ignored.  For example, typing
  423. "DISASSEMBLE THE ENCYCLOPEDIA" is not only meaningless, it also
  424. creates excess effort for your fingers.  Note that this trunca-
  425. tion may produce ambiguities in the interpretation of longer words.
  426.  
  427. You are talking to a moderately stupid parser, which understands
  428. the following types of things:
  429.  
  430. 2.1 Actions
  431.  
  432.     Among the more obvious of these, TAKE, PUT, DROP, etc.  Fairly
  433.     general forms of these may be used, such as PICK UP, PUT DOWN, etc.
  434.  
  435. 2.2 Directions
  436.  
  437.     NORTH, SOUTH, UP, DOWN, etc. and their various abbreviations.
  438.     Other more obscure directions (LAND, CROSS) are appropriate in
  439.     only certain situations.
  440.  
  441. 2.3 Objects
  442.  
  443.     Most objects have names and can be referenced by them.  Multiple
  444.     objects, separated by commas or AND, can be used with TAKE, PUT,
  445.     and DROP.  In addition, there are collective objects EVERYTHING,
  446.     VALUABLES, and POSSESSIONS, which may also be used with TAKE,
  447.     PUT, and DROP.  Collective objects may be qualified with an
  448.     EXCEPT clause; for example, TAKE EVERYTHING EXCEPT THE RUG.
  449.  
  450. 2.4 Adjectives
  451.  
  452.     Some adjectives are understood and required when there are
  453.     two objects which can be referenced with the same noun (e.g.,
  454.     DOORs, BUTTONs).
  455.  
  456. 2.5 Prepositions
  457.  
  458.     It may be necessary in some cases to include prepositions, but
  459.     the parser attempts to handle cases which aren't ambiguous
  460.     without.  Thus "GIVE CAR TO DEMON" will work, as will "GIVE DEMON
  461.     CAR".  When a preposition is used, it should be appropriate;
  462.     "GIVE CAR WITH DEMON" won't parse.
  463.  
  464. 2.6 Sentences
  465.  
  466.     The parser understands a reasonable number of things.  For example,
  467.     multiple commands (separated by periods or semicolons) can be placed
  468.     on the same line.
  469.  
  470. 2.7 Ambiguity
  471.  
  472.     The parser tries to be clever about what to do in the case of
  473.     actions which require objects that are not explicitly specified.
  474.     If there is only one possible object, the parser will assume
  475.     that it should be used.  Otherwise, the parser will ask.
  476.     Most questions asked by the parser can be answered.
  477.  
  478. 3 Theories
  479.  
  480. The following "theories" are fundamental to the game and should be noted.
  481.  
  482. 3.1 Containment
  483.  
  484.     Some objects can contain other objects.  Many such containers can
  485.     be opened and closed.  The rest are always open.   They may or may
  486.     not be transparent.  For you to access (e.g., take) an object
  487.     which is in a container, the container must be open.  For you
  488.     to see such an object, the container must be either open or
  489.     transparent.  Containers have a capacity, and objects have sizes;
  490.     the number of objects which will fit therefore depends on their
  491.     sizes.  You may put any object you have access to (it need not be
  492.     in your hands) into any other object.  At some point, the program
  493.     will attempt to pick it up if you don't already have it, which
  494.     process may fail if you're carrying too much.  Although containers
  495.     can contain other containers, the program doesn't access more than
  496.     one level down.
  497.  
  498. 3.2 Fighting
  499.  
  500.     Occupants of the dungeon will, as a rule, fight back when
  501.     attacked.  In some cases, they may attack even if unprovoked.
  502.     Useful verbs here are "ATTACK <villain> WITH <weapon>", "KILL",
  503.     etc.  Knife-throwing may or may not be useful.  You have a
  504.     fighting strength which varies with time.  Being in a fight,
  505.     getting killed, and being injured all lower this strength.
  506.     Strength is regained with time.  Thus, it is not a good idea to
  507.     fight someone immediately after being killed.  Other details
  508.     should become apparent after a few melees or deaths.  The
  509.     "DIAGNOSE" command describes your state of health.
  510.  
  511. 3.3 Vehicles
  512.  
  513.     These are some objects in the labyrinth which are rumored to have
  514.     the ability to transport the fearless adventurer to mysterious
  515.     regions which are inaccessible on foot.  Needless to say, the
  516.     adventurer faces great personal peril as he encounters these
  517.     regions.  The vehicles can usually be entered with the "BOARD"
  518.     command and can be exited with the "DISEMBARK" command.
  519.  
  520. VII.  Source Notes
  521.  
  522. A few notes for source hackers.
  523.  
  524. - The initialization module (INIT in game.f) includes an access check
  525.   function PROTCT.  If PROTCT returns a value of .TRUE., the game is
  526.   permitted to start;  if PROTCT returns .FALSE., the game is
  527.   terminated with a suitably nasty message.  At present, PROTCT is a
  528.   dummy routine and always returns .TRUE.;  by tailoring PROTCT,
  529.   access to the game can be restricted to certain hours or users.
  530.  
  531. - The two data files (DINDX.DAT and DTEXT.DAT in VMS, dindx and dtext
  532.   in UNIX) are accessed without a pathname.  If you want to place these
  533.   files in a central directory, then:
  534.  
  535.   > [VMS] define logical names for DINDX and DTEXT pointing to
  536.     that directory.
  537.   > [UNIX] edit module INIT in GAME.FOR to include a pathname in
  538.     the two OPEN statements.
  539.  
  540. - Porting the game to other processors is possible provided that the
  541.   target system's FORTRAN supports 32-bit integers and implements the
  542.   extended features of VAX FORTRAN.  The following extended features
  543.   are required:
  544.  
  545.   > ! recognized as a comment delimiter.
  546.   > READONLY attribute in OPEN, to allow shared access to the data files.
  547.   > Logical operators on integers for bitwise binary operations (.AND.,
  548.     .OR., and .XOR.).
  549.   > Capability to disable integer overflow checking.
  550.   > $ in FORMAT statements.
  551.   > Octal constants ('xxx'O) in DATA statements (module PARSER.F) and
  552.     octal specifiers in FORMAT statements (module GDT.F).
  553.   > Operating-system dependent routines to get the current date and
  554.     time of day (see modules VMSSUBR.F and UNIXSUBR.C, as well as the
  555.     DEC FORTRAN specification).
  556.  
  557.   If these features are available, and VMSSUBR.FOR or UNIXSUBR.C is
  558.   rewritten for the target environment, then porting the game is
  559.   possible.  However, you are STRICTLY on your own, sport!
  560.